/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.bff.bjj.utils;

import javax.swing.*;
import java.awt.event.KeyEvent;
import java.text.MessageFormat;
import java.util.ResourceBundle;

/**
 * @author Bill
 */
public class Resources {

    public static enum LABEL_KEY {

        TITLE("APPLICATION_TITLE"),
        ABOUT_TITLE("ABOUT_TITLE"),
        ABOUT_BORDER("ABOUT_BORDER"),
        ABOUT_TEXT("ABOUT_TEXT"),
        ALBUM_ALL_ALBUM("ALBUM_ALL_ALBUM"),
        ALBUM_VIEW_OPTIONS("ALBUM_VIEW_OPTIONS"),
        ALBUM_VIEW_ART("ALBUM_VIEW_ART"),
        ALBUM_VIEW_TEXT("ALBUM_VIEW_TEXT"),
        ALBUM_FILTER_BUTTON_LABEL("ALBUM_FILTER_BUTTON_LABEL"),
        ALBUM_FILTER_START_YEAR("ALBUM_FILTER_START_YEAR"),
        ALBUM_FILTER_RESET_BUTTON_LABEL("ALBUM_FILTER_RESET_BUTTON_LABEL"),
        ALBUM_FILTER_BODER_SONGS("ALBUM_FILTER_BODER_SONGS"),
        ALBUM_FILTER_LOADING_ALBUMS("ALBUM_FILTER_LOADING_ALBUMS"),
        ALBUM_FILTER_END_YEAR("ALBUM_FILTER_END_YEAR"),
        ALBUM_FILTER_GENRE("ALBUM_FILTER_GENRE"),
        ALBUM_FILTER_ARTIST("ALBUM_FILTER_ARTIST"),
        ALBUM_FILTER_COVER_SIZE("ALBUM_FILTER_COVER_SIZE"),
        ALBUM_FILTER_BUTTON_FIRST_LABEL("ALBUM_FILTER_BUTTON_FIRST_LABEL"),
        ALBUM_FILTER_BUTTON_PREV_LABEL("ALBUM_FILTER_BUTTON_PREV_LABEL"),
        ALBUM_FILTER_BUTTON_NEXT_LABEL("ALBUM_FILTER_BUTTON_NEXT_LABEL"),
        ALBUM_FILTER_BUTTON_LAST_LABEL("ALBUM_FILTER_BUTTON_LAST_LABEL"),
        ALBUM_THUMBNAIL_TITLE("ALBUM_THUMBNAIL_TITLE"),
        ALBUM_THUMBNAIL_BUTTON_LABEL_SONGS("ALBUM_THUMBNAIL_BUTTON_LABEL_SONGS"),
        ALBUM_THUMBNAIL_BUTTON_LABEL_ALBUM("ALBUM_THUMBNAIL_BUTTON_LABEL_ALBUM"),
        ARTIST_DIALOG_TITLE("ARTIST_DIALOG_TITLE"),
        ARTIST_DIALOG_PROGRESS_TITLE("ARTIST_DIALOG_PROGRESS_TITLE"),
        ARTIST_DIALOG_PROGRESS_TEXT("ARTIST_DIALOG_PROGRESS_TEXT"),
        ARTIST_DIALOG_PROGRESS_LABEL("ARTIST_DIALOG_PROGRESS_LABEL"),
        SEARCH_DIALOG_PROGRESS_TITLE("SEARCH_DIALOG_PROGRESS_TITLE"),
        SEARCH_DIALOG_PROGRESS_TEXT("SEARCH_DIALOG_PROGRESS_TEXT"),
        SEARCH_DIALOG_PROGRESS_LABEL("SEARCH_DIALOG_PROGRESS_LABEL"),
        SEARCH_PANEL_BORDER_SEARCH("SEARCH_PANEL_BORDER_SEARCH"),
        SEARCH_PANEL_BORDER_ARTIST("SEARCH_PANEL_BORDER_ARTIST"),
        SEARCH_PANEL_BORDER_ALBUM("SEARCH_PANEL_BORDER_ALBUM"),
        SEARCH_PANEL_BORDER_SONG("SEARCH_PANEL_BORDER_SONG"),
        SEARCH_PANEL_BORDER_SONG_RESULTS("SEARCH_PANEL_BORDER_SONG_RESULTS"),
        ARTIST_ALL("ARTIST_ALL"),
        COVER_ART_TITLE("COVER_ART_TITLE"),
        DIALOG_CLOSE("DIALOG_CLOSE"),
        STARTUP_DETAILS("STARTUP_DETAILS"),
        STARTUP_STARTING("STARTUP_STARTING"),
        STARTUP_LOADING("STARTUP_LOADING"),
        STARTUP_SELECTION("STARTUP_SELECTION"),
        TAB_TITLE_DETAILS("TAB_TITLE_DETAILS"),
        TAB_TITLE_DESCRIPTION("TAB_TITLE_DESCRIPTION"),
        TAB_TITLE_SUMMARY("TAB_TITLE_SUMMARY"),
        TAB_TITLE_SUBTITLE("TAB_TITLE_SUBTITLE"),
        ERROR_TITLE("ERROR_TITLE"),
        ERROR_CONN_RECONNECTNG("ERROR_CONN_RECONNECTNG"),
        ERROR_CONN_MESSAGE("ERROR_CONN_MESSAGE"),
        ERROR_CONN_TITLE("ERROR_CONN_TITLE"),
        GROUP_FOLDER_LABEL("GROUP_FOLDER_LABEL"),
        LAF_TITLE("LAF_TITLE"),
        LAF_DETAILS("LAF_DETAILS"),
        UPDATE_TEXT("UPDATE_TEXT"),
        UPDATE_TITLE("UPDATE_TITLE"),
        UPDATE_BUTTON_CONTINUE("UPDATE_BUTTON_CONTINUE"),
        UPDATE_BUTTON_GET("UPDATE_BUTTON_GET"),
        BUTTON_EXIT("BUTTON_EXIT"),
        ACTION_ADD("ACTION_ADD"),
        ACTION_REMOVE("ACTION_REMOVE"),
        ACTION_FAVORITE("ACTION_FAVORITE"),
        ACTION_FAV_ADD_NAME("ACTION_FAV_ADD_NAME"),
        ACTION_FAV_ADD_SHORT_DESC("ACTION_FAV_ADD_SHORT_DESC"),
        ACTION_MINIMIZE_NAME("ACTION_MINIMIZE_NAME"),
        ACTION_MINIMIZE_SHORT_DESC("ACTION_MINIMIZE_SHORT_DESC"),
        ACTION_MUTE_NAME("ACTION_MUTE_NAME"),
        ACTION_MUTE_SHORT_DESC("ACTION_MUTE_SHORT_DESC"),
        ACTION_PLAYLIST_ADD_NAME("ACTION_PLAYLIST_ADD_NAME"),
        ACTION_PLAYLIST_ADD_SHORT_DESC("ACTION_PLAYLIST_ADD_SHORT_DESC"),
        ACTION_DISP_SONG_INFO_NAME("ACTION_DISP_SONG_INFO_NAME"),
        ACTION_DISP_SONG_INFO_SHORT_DESC("ACTION_DISP_SONG_INFO_SHORT_DESC"),
        ACTION_NEXT_NAME("ACTION_NEXT_NAME"),
        ACTION_NEXT_SHORT_DESC("ACTION_NEXT_SHORT_DESC"),
        ACTION_STOP_NAME("ACTION_STOP_NAME"),
        ACTION_STOP_SHORT_DESC("ACTION_STOP_SHORT_DESC"),
        ACTION_PREVIOUS_NAME("ACTION_PREVIOUS_NAME"),
        ACTION_PREVIOUS_SHORT_DESC("ACTION_PREVIOUS_SHORT_DESC"),
        ACTION_OPEN_TAB_NAME("ACTION_OPEN_TAB_NAME"),
        ACTION_PAUSE_NAME("ACTION_PAUSE_NAME"),
        ACTION_PAUSE_SHORT_DESC("ACTION_PAUSE_SHORT_DESC"),
        ACTION_PLAY_NAME("ACTION_PLAY_NAME"),
        ACTION_PLAY_SHORT_DESC("ACTION_PLAY_SHORT_DESC"),
        ACTION_PLAY_SONG_NAME("ACTION_PLAY_SONG_NAME"),
        ACTION_PLAY_SONG_SHORT_DESC("ACTION_PLAY_SONG_SHORT_DESC"),
        ACTION_ADD_ALBUM_NAME("ACTION_ADD_ALBUM_NAME"),
        ACTION_ADD_ALBUM_SHORT_DESC("ACTION_ADD_ALBUM_SHORT_DESC"),
        ACTION_ADD_ARTIST_NAME("ACTION_ADD_ARTIST_NAME"),
        ACTION_ADD_ARTIST_SHORT_DESC("ACTION_ADD_ARTIST_SHORT_DESC"),
        ACTION_ADD_FAVORITE_NAME("ACTION_ADD_FAVORITE_NAME"),
        ACTION_ADD_FAVORITE_SHORT_DESC("ACTION_ADD_FAVORITE_SHORT_DESC"),
        ACTION_ADD_FOLDER_NAME("ACTION_ADD_FOLDER_NAME"),
        ACTION_ADD_FOLDER_SHORT_DESC("ACTION_ADD_FOLDER_SHORT_DESC"),
        ACTION_ADD_GENRE_NAME("ACTION_ADD_GENRE_NAME"),
        ACTION_ADD_GENRE_SHORT_DESC("ACTION_ADD_GENRE_SHORT_DESC"),
        ACTION_ADD_YEAR_NAME("ACTION_ADD_YEAR_NAME"),
        ACTION_ADD_YEAR_SHORT_DESC("ACTION_ADD_YEAR_SHORT_DESC"),
        ACTION_ADD_SONG_NAME("ACTION_ADD_SONG_NAME"),
        ACTION_ADD_SONG_SHORT_DESC("ACTION_ADD_SONG_SHORT_DESC"),
        ACTION_ADD_RADIO_NAME("ACTION_ADD_RADIO_NAME"),
        ACTION_ADD_RADIO_SHORT_DESC("ACTION_ADD_RADIO_SHORT_DESC"),
        ACTION_ADD_PODCAST_NAME("ACTION_ADD_PODCAST_NAME"),
        ACTION_ADD_PODCAST_SHORT_DESC("ACTION_ADD_PODCAST_SHORT_DESC"),
        ACTION_REMOVE_GENRE_NAME("ACTION_REMOVE_GENRE_NAME"),
        ACTION_REMOVE_GENRE_SHORT_DESC("ACTION_REMOVE_GENRE_SHORT_DESC"),
        ACTION_REMOVE_YEAR_NAME("ACTION_REMOVE_GENRE_NAME"),
        ACTION_REMOVE_YEAR_SHORT_DESC("ACTION_REMOVE_GENRE_SHORT_DESC"),
        ACTION_REMOVE_ALBUM_NAME("ACTION_REMOVE_ALBUM_NAME"),
        ACTION_REMOVE_ALBUM_SHORT_DESC("ACTION_REMOVE_ALBUM_SHORT_DESC"),
        ACTION_REMOVE_ARTIST_NAME("ACTION_REMOVE_ARTIST_NAME"),
        ACTION_REMOVE_ARTIST_SHORT_DESC("ACTION_REMOVE_ARTIST_SHORT_DESC"),
        ACTION_REMOVE_SONG_NAME("ACTION_REMOVE_ARTIST_NAME"),
        ACTION_REMOVE_SONG_SHORT_DESC("ACTION_REMOVE_ARTIST_SHORT_DESC"),
        ACTION_PLAYLIST_DOWN_SHORT_DESC("ACTION_PLAYLIST_DOWN_SHORT_DESC"),
        ACTION_PLAYLIST_UP_SHORT_DESC("ACTION_PLAYLIST_UP_SHORT_DESC"),
        ACTION_INSERT_ALBUM_NAME("ACTION_INSERT_ALBUM_NAME"),
        ACTION_INSERT_ALBUM_SHORT_DESC("ACTION_INSERT_ALBUM_SHORT_DESC"),
        ACTION_INSERT_ARTIST_NAME("ACTION_INSERT_ARTIST_NAME"),
        ACTION_INSERT_ARTIST_SHORT_DESC("ACTION_INSERT_ARTIST_SHORT_DESC"),
        ACTION_INSERT_FAVORITE_NAME("ACTION_INSERT_FAVORITE_NAME"),
        ACTION_INSERT_FAVORITE_SHORT_DESC("ACTION_INSERT_FAVORITE_SHORT_DESC"),
        ACTION_INSERT_FOLDER_NAME("ACTION_INSERT_FOLDER_NAME"),
        ACTION_INSERT_FOLDER_SHORT_DESC("ACTION_INSERT_FOLDER_SHORT_DESC"),
        ACTION_INSERT_GENRE_NAME("ACTION_INSERT_GENRE_NAME"),
        ACTION_INSERT_GENRE_SHORT_DESC("ACTION_INSERT_GENRE_SHORT_DESC"),
        ACTION_INSERT_PODCAST_NAME("ACTION_INSERT_PODCAST_NAME"),
        ACTION_INSERT_PODCAST_SHORT_DESC("ACTION_INSERT_PODCAST_SHORT_DESC"),
        ACTION_INSERT_RADIO_NAME("ACTION_INSERT_RADIO_NAME"),
        ACTION_INSERT_RADIO_SHORT_DESC("ACTION_INSERT_RADIO_SHORT_DESC"),
        ACTION_INSERT_SONG_NAME("ACTION_INSERT_SONG_NAME"),
        ACTION_INSERT_SONG_SHORT_DESC("ACTION_INSERT_SONG_SHORT_DESC"),
        ACTION_INSERT_YEAR_NAME("ACTION_INSERT_YEAR_NAME"),
        ACTION_INSERT_YEAR_SHORT_DESC("ACTION_INSERT_YEAR_SHORT_DESC"),
        ACTION_LOAD_ALBUM_NAME("ACTION_LOAD_ALBUM_NAME"),
        ACTION_LOAD_ALBUM_SHORT_DESC("ACTION_LOAD_ALBUM_SHORT_DESC"),
        ACTION_LOAD_ARTIST_NAME("ACTION_LOAD_ARTIST_NAME"),
        ACTION_LOAD_ARTIST_SHORT_DESC("ACTION_LOAD_ARTIST_SHORT_DESC"),
        ACTION_LOAD_FAVORITE_NAME("ACTION_LOAD_FAVORITE_NAME"),
        ACTION_LOAD_FAVORITE_SHORT_DESC("ACTION_LOAD_FAVORITE_SHORT_DESC"),
        ACTION_LOAD_FOLDER_NAME("ACTION_LOAD_FOLDER_NAME"),
        ACTION_LOAD_FOLDER_SHORT_DESC("ACTION_LOAD_FOLDER_SHORT_DESC"),
        ACTION_LOAD_GENRE_NAME("ACTION_LOAD_GENRE_NAME"),
        ACTION_LOAD_GENRE_SHORT_DESC("ACTION_LOAD_GENRE_SHORT_DESC"),
        ACTION_LOAD_PODCAST_NAME("ACTION_LOAD_PODCAST_NAME"),
        ACTION_LOAD_PODCAST_SHORT_DESC("ACTION_LOAD_PODCAST_SHORT_DESC"),
        ACTION_LOAD_RADIO_NAME("ACTION_LOAD_RADIO_NAME"),
        ACTION_LOAD_RADIO_SHORT_DESC("ACTION_LOAD_RADIO_SHORT_DESC"),
        ACTION_LOAD_SONG_NAME("ACTION_LOAD_SONG_NAME"),
        ACTION_LOAD_SONG_SHORT_DESC("ACTION_LOAD_SONG_SHORT_DESC"),
        ACTION_LOAD_YEAR_NAME("ACTION_LOAD_YEAR_NAME"),
        ACTION_LOAD_YEAR_SHORT_DESC("ACTION_LOAD_YEAR_SHORT_DESC"),
        ACTION_PLAYLIST_LOOP_NAME("ACTION_PLAYLIST_LOOP_NAME"),
        ACTION_PLAYLIST_LOOP_SHORT_DESC("ACTION_PLAYLIST_LOOP_SHORT_DESC"),
        ACTION_PLAYLIST_UNLOOP_NAME("ACTION_PLAYLIST_UNLOOP_NAME"),
        ACTION_PLAYLIST_UNLOOP_SHORT_DESC("ACTION_PLAYLIST_UNLOOP_SHORT_DESC"),
        ACTION_SONG_LOOP_NAME("ACTION_SONG_LOOP_NAME"),
        ACTION_SONG_LOOP_SHORT_DESC("ACTION_SONG_LOOP_SHORT_DESC"),
        ACTION_SONG_UNLOOP_NAME("ACTION_SONG_UNLOOP_NAME"),
        ACTION_SONG_UNLOOP_SHORT_DESC("ACTION_SONG_UNLOOP_SHORT_DESC"),
        ACTION_PLAYLIST_NEXT_NAME("ACTION_PLAYLIST_NEXT_NAME"),
        ACTION_PLAYLIST_NEXT_SHORT_DESC("ACTION_PLAYLIST_NEXT_SHORT_DESC"),
        ACTION_PLAYLIST_PREVIOUS_NAME("ACTION_PLAYLIST_PREVIOUS_NAME"),
        ACTION_PLAYLIST_PREVIOUS_SHORT_DESC("ACTION_PLAYLIST_PREVIOUS_SHORT_DESC"),
        ACTION_PLAYLIST_SHUFFLE_ALBUM_NAME("ACTION_PLAYLIST_SHUFFLE_ALBUM_NAME"),
        ACTION_PLAYLIST_SHUFFLE_ALBUM_SHORT_DESC("ACTION_PLAYLIST_SHUFFLE_ALBUM_SHORT_DESC"),
        ACTION_PLAYLIST_UNSHUFFLE_ALBUM_NAME("ACTION_PLAYLIST_UNSHUFFLE_ALBUM_NAME"),
        ACTION_PLAYLIST_UNSHUFFLE_ALBUM_SHORT_DESC("ACTION_PLAYLIST_UNSHUFFLE_ALBUM_SHORT_DESC"),
        ACTION_PLAYLIST_SHUFFLE_SONG_NAME("ACTION_PLAYLIST_SHUFFLE_SONG_NAME"),
        ACTION_PLAYLIST_SHUFFLE_SONG_SHORT_DESC("ACTION_PLAYLIST_SHUFFLE_SONG_SHORT_DESC"),
        ACTION_PLAYLIST_UNSHUFFLE_SONG_NAME("ACTION_PLAYLIST_UNSHUFFLE_SONG_NAME"),
        ACTION_PLAYLIST_UNSHUFFLE_SONG_SHORT_DESC("ACTION_PLAYLIST_UNSHUFFLE_SONG_SHORT_DESC"),
        ACTION_SAVED_PLAYLIST_REMOVE_SONG_NAME("ACTION_SAVED_PLAYLIST_REMOVE_SONG_NAME"),
        ACTION_SAVED_PLAYLIST_REMOVE_SONG_SHORT_DESC("ACTION_SAVED_PLAYLIST_REMOVE_SONG_SHORT_DESC"),
        ACTION_VIEW_ALBUM_NAME("ACTION_VIEW_ALBUM_NAME"),
        ACTION_VIEW_ALBUM_SHORT_DESC("ACTION_VIEW_ALBUM_SHORT_DESC"),
        ACTION_VIEW_ARTIST_NAME("ACTION_VIEW_ARTIST_NAME"),
        ACTION_VIEW_ARTIST_SHORT_DESC("ACTION_VIEW_ARTIST_SHORT_DESC"),
        ACTION_VIEW_PODCAST_NAME("ACTION_VIEW_PODCAST_NAME"),
        ACTION_VIEW_PODCAST_SHORT_DESC("ACTION_VIEW_PODCAST_SHORT_DESC"),
        PODCAST_LOADING_TITLE("PODCAST_LOADING_TITLE"),
        PODCAST_LOADING_TEXT("PODCAST_LOADING_TEXT"),
        PODCAST_LOADING_PROGRESS_BAR("PODCAST_LOADING_PROGRESS_BAR"),
        ACTION_VIEW_RADIO_NAME("ACTION_VIEW_RADIO_NAME"),
        ACTION_VIEW_RADIO_SHORT_DESC("ACTION_VIEW_RADIO_SHORT_DESC"),
        RADIO_LOADING_TITLE("RADIO_LOADING_TITLE"),
        RADIO_LOADING_TEXT("RADIO_LOADING_TEXT"),
        RADIO_LOADING_PROGRESS_BAR("RADIO_LOADING_PROGRESS_BAR"),
        HEADER_ALBUM("HEADER_ALBUM"),
        HEADER_ARTIST("HEADER_ARTIST"),
        HEADER_TITLE("HEADER_TITLE"),
        HEADER_LENGTH("HEADER_LENGTH"),
        HEADER_TRACK("HEADER_TRACK"),
        HEADER_YEAR("HEADER_YEAR"),
        HEADER_BITRATE("HEADER_BITRATE"),
        SAVE_PLAYLIST_NO_NAME("SAVE_PLAYLIST_NO_NAME"),
        SAVE_PLAYLIST_EXISTS("SAVE_PLAYLIST_EXISTS"),
        PLAYER_SYNC_TITLE("PLAYER_SYNC_TITLE"),
        SETTINGS_PLAYLIST_TAB("SETTINGS_PLAYLIST_TAB"),
        SETTINGS_PLAYLIST_LEFT("SETTINGS_PLAYLIST_LEFT"),
        SETTINGS_EXPLORER_LIST("SETTINGS_EXPLORER_LIST"),
        SETTINGS_EXPLORER_TREE("SETTINGS_EXPLORER_TREE"),
        SETTINGS_EXIT_STOP("SETTINGS_EXIT_STOP"),
        SETTINGS_EXIT_NOTHING("SETTINGS_EXIT_NOTHING"),
        SETTINGS_DEVELOPER("SETTINGS_DEVELOPER"),
        SETTINGS_SNAPSHOT("SETTINGS_SNAPSHOT"),
        SETTINGS_UPDATE("SETTINGS_UPDATE"),
        SETTINGS_MESSAGE_RESTART("SETTINGS_MESSAGE_RESTART"),
        SETTINGS_MESSAGE_RESTART_TITLE("SETTINGS_MESSAGE_RESTART_TITLE"),
        SETTINGS_MESSAGE_RESTART_ERROR("SETTINGS_MESSAGE_RESTART_ERROR"),
        SETTINGS_MESSAGE_RESTART_ERROR_TITLE("SETTINGS_MESSAGE_RESTART_ERROR_TITLE"),
        SETTINGS_MESSAGE_SAVED_SUCCESS("SETTINGS_MESSAGE_SAVED_SUCCESS"),
        SETTINGS_MESSAGE_CONNECTION_TEST("SETTINGS_MESSAGE_CONNECTION_TEST"),
        SETTINGS_MESSAGE_CONNECTION_TEST_TITLE("SETTINGS_MESSAGE_CONNECTION_TEST_TITLE"),
        SETTINGS_MESSAGE_CONNECTION_TEST_PROGRESS("SETTINGS_MESSAGE_CONNECTION_TEST_PROGRESS"),
        SETTINGS_MESSAGE_CONNECTION_TEST_ERROR("SETTINGS_MESSAGE_CONNECTION_TEST_ERROR"),
        SETTINGS_SHOW_NEW_MUSIC("SETTINGS_SHOW_NEW_MUSIC"),
        NEW_MUSIC_TAB_TITLE("NEW_MUSIC_TAB_TITLE"),
        NEW_MUSIC_LOADING("NEW_MUSIC_LOADING"),
        ERROR_STARTUP("ERROR_STARTUP");
        private String key;

        LABEL_KEY(String key) {
            this.key = key;
        }

        public String getKey() {
            return this.key;
        }
    }

    public static enum KEYSTROKE_KEY {

        KEYSTROKE_MINIMIZE("KEYSTROKE_MINIMIZE"),
        KEYSTROKE_NEXT("KEYSTROKE_NEXT"),
        KEYSTROKE_PREVIOUS("KEYSTROKE_PREVIOUS"),
        KEYSTROKE_PAUSE("KEYSTROKE_PAUSE"),
        KEYSTROKE_PLAY("KEYSTROKE_PLAY"),
        KEYSTROKE_STOP("KEYSTROKE_STOP");
        private String key;

        KEYSTROKE_KEY(String key) {
            this.key = key;
        }

        public String getKey() {
            return this.key;
        }
    }

    public static enum KEYEVENT_KEY {

        ACTION_MINIMIZE(KeyEvent.VK_M),
        ACTION_NEXT(KeyEvent.VK_W),
        ACTION_PREVIOUS(KeyEvent.VK_R),
        ACTION_PAUSE(KeyEvent.VK_U),
        ACTION_PLAY(KeyEvent.VK_P),
        ACTION_STOP(KeyEvent.VK_S);
        private int event;

        KEYEVENT_KEY(int event) {
            this.event = event;
        }

        public int getEvent() {
            return this.event;
        }
    }

    private static final ResourceBundle bundle =
            ResourceBundle.getBundle("messages");
    public static final String FILE_SEPARATOR = System.getProperty("file.separator");

    /**
     * For internationalization
     *
     * @param message
     * @return
     */
    public static String getMessage(LABEL_KEY key) {
        return bundle.getString(key.getKey());
    }

    public static String getMessage(LABEL_KEY key, Object[] params) {
        if (params == null) {
            params = new Object[]{""};
        }
        return MessageFormat.format(bundle.getString(key.getKey()), params);
    }

    public static String getKeystroke(KEYSTROKE_KEY key) {
        return bundle.getString(key.getKey());
    }

    public static int getKeyEvent(KEYEVENT_KEY keyEvent) {
        return keyEvent.getEvent();
    }

    public static enum ICON_KEY {

        HEADBANG("ICON_HEADBANG"),
        TRAY("ICON_TRAY"),
        ACTION_FAVORITES_ENABLED("ICON_FAVORITES_ENABLED"),
        ACTION_FAVORITES_DISABLED("ICON_FAVORITES_DISABLED"),
        ACTION_MINIMIZE("ICON_MINIMIZE"),
        ACTION_MAXIMIZE("ICON_MAXIMIZE"),
        ACTION_VOLUME("ICON_VOLUME"),
        ACTION_MUTE("ICON_MUTE"),
        ACTION_NEXT("ICON_NEXT"),
        ACTION_STOP("ICON_STOP"),
        ACTION_PREVIOUS("ICON_PREVIOUS"),
        ACTION_OPEN_TAB("ICON_OPEN_TAB"),
        ACTION_PAUSE("ICON_PAUSE"),
        ACTION_PLAY("ICON_PLAY"),
        ACTION_ADD_ALBUM("ICON_ADD_ALBUM"),
        ACTION_ADD_ARTIST("ICON_ADD_ARTIST"),
        ACTION_ADD_FAVORITE("ICON_ADD_FAVORITE"),
        ACTION_ADD_FOLDER("ICON_ADD_FOLDER"),
        ACTION_ADD_GENRE("ICON_ADD_GENRE"),
        ACTION_ADD_YEAR("ICON_ADD_YEAR"),
        ACTION_ADD_SONG("ICON_ADD_SONG"),
        ACTION_ADD_RADIO("ICON_ADD_RADIO"),
        ACTION_ADD_PODCAST("ICON_ADD_PODCAST"),
        ACTION_REMOVE_GENRE("ICON_REMOVE_GENRE"),
        ACTION_REMOVE_YEAR("ICON_REMOVE_YEAR"),
        ACTION_REMOVE_ALBUM("ICON_REMOVE_ALBUM"),
        ACTION_REMOVE_ARTIST("ICON_REMOVE_ARTIST"),
        ACTION_REMOVE_SONG("ICON_REMOVE_SONG"),
        ACTION_PLAYLIST_DOWN("ICON_PLAYLIST_DOWN"),
        ACTION_PLAYLIST_UP("ICON_PLAYLIST_UP"),
        ACTION_INSERT_ALBUM("ICON_INSERT_ALBUM"),
        ACTION_INSERT_ARTIST("ICON_INSERT_ARTIST"),
        ACTION_INSERT_FAVORITE("ICON_INSERT_FAVORITE"),
        ACTION_INSERT_FOLDER("ICON_INSERT_FOLDER"),
        ACTION_INSERT_GENRE("ICON_INSERT_GENRE"),
        ACTION_INSERT_PODCAST("ICON_INSERT_PODCAST"),
        ACTION_INSERT_RADIO("ICON_INSERT_RADIO"),
        ACTION_INSERT_SONG("ICON_INSERT_SONG"),
        ACTION_INSERT_YEAR("ICON_INSERT_YEAR"),
        ACTION_LOAD_ALBUM("ICON_LOAD_ALBUM"),
        ACTION_LOAD_ARTIST("ICON_LOAD_ARTIST"),
        ACTION_LOAD_FAVORITE("ICON_LOAD_FAVORITE"),
        ACTION_LOAD_FOLDER("ICON_LOAD_FOLDER"),
        ACTION_LOAD_GENRE("ICON_LOAD_GENRE"),
        ACTION_LOAD_PODCAST("ICON_LOAD_PODCAST"),
        ACTION_LOAD_RADIO("ICON_LOAD_RADIO"),
        ACTION_LOAD_SONG("ICON_LOAD_SONG"),
        ACTION_LOAD_YEAR("ICON_LOAD_YEAR"),
        ACTION_PLAYLIST_LOOP("ICON_PLAYLIST_LOOP"),
        ACTION_PLAYLIST_UNLOOP("ICON_PLAYLIST_UNLOOP"),
        ACTION_SONG_LOOP("ICON_SONG_LOOP"),
        ACTION_SONG_UNLOOP("ICON_SONG_UNLOOP"),
        ACTION_PLAYLIST_NEXT("ICON_PLAYLIST_NEXT"),
        ACTION_PLAYLIST_PREVIOUS("ICON_PLAYLIST_PREVIOUS"),
        ACTION_PLAYLIST_SHUFFLE_ALBUM("ICON_PLAYLIST_SHUFFLE_ALBUM"),
        ACTION_PLAYLIST_UNSHUFFLE_ALBUM("ICON_PLAYLIST_UNSHUFFLE_ALBUM"),
        ACTION_PLAYLIST_SHUFFLE_SONG("ICON_PLAYLIST_SHUFFLE_SONG"),
        ACTION_PLAYLIST_UNSHUFFLE_SONG("ICON_PLAYLIST_UNSHUFFLE_SONG"),
        ACTION_SAVED_PLAYLIST_REMOVE_SONG("ICON_PLAYLIST_UNSHUFFLE_SONG"),
        ICON_CHECKED("ICON_CHECKED"),
        ICON_X("ICON_X"),
        ICON_SEARCH("ICON_SEARCH");
        private ImageIcon icon;

        ICON_KEY(String key) {
            this.icon = new ImageIcon(ICON_KEY.class.getResource(getIconPath(key)));
        }

        public ImageIcon getIcon() {
            return icon;
        }
    }

    private static String getIconPath(String iconKey) {
        return bundle.getString(iconKey);
    }

    public static ImageIcon getIcon(ICON_KEY key) {
        return key.getIcon();
    }
}
